import random


#使用1,10随机数函数产生a,b随机数函数,a,b应该介于1,10之间
def rand(a,b):
    num = None
    num = random.randint(1,10)
    while num < a or num > b:
        num = random.randint(1,10)
    return num
a = 6
b = 10
dict = {}
for i in range(100000):
    num = rand(a,b)
    if num not in dict.keys():
      dict[num] = 1
    else:
      dict[num] += 1
print('以下为对rand(%d,%d)随机数函数功能的测试结果,共有%d种情况,应约有%d次落在每种情况上.'%(a,b,b-a+1,100000/(b-a+1)))
print(dict)


'''
#使用1,5随机数函数产生a,b随机数函数是不能实现的，试图通过1,5→0,4→0,1→0,b-a→a,b来转换是很愚蠢的。首先不能保证转换后得到的随机数是整数，
这不符合题目要求的实现整数随机数的函数，而且它只是实现了几个值在一个区间的均匀分布，经过画图就可以显然地看出来。而非题目的要求，本质还是
一个映射，经过这样死板的运算每个值都会指向一个固定的新的值，这等于并没有产生新的随机数函数。
'''